<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>示例14</title>
    <script>
        const map = new Map();
        //1、size 属性 
        console.log("new map().size=", map.size); // 0 
        //2、set 方法 
        map.set('foo', 10); // 键是 字符串 
        map.set(100, 'number'); // 键是 数值 
        map.set(undefined, 'undefined'); // 键是 undefined 
        map.set(NaN, 'NaN'); // 键是 NaN 
        map.set(-0, '-0'); // 键是 -0 
        map.set({}, '{ }'); // 键是 对象 
        console.log("seted map.size=", map.size); // 6 
        //3、get 方法 
        const func = function () {};
        map.set(func, '函数也可以作为键') // 键是函数 
        console.log("map.get(func)=", map.get(func)); // 函数也可以作为键 
        //4、has 方法 
        console.log("map=", map); // 10 
        console.log("map.has('foo')=", map.has('foo')); // true 
        console.log("map.has('boo')=", map.has('boo')); // false 
        console.log("map.has(100)=", map.has(100)); // true 
        console.log("map.has(undefined)=", map.has(undefined)); // true 
        console.log("map.has(NaN)=", map.has(NaN)); // true 
        console.log("map.has(+0)=", map.has(+0)); // true 
        console.log("map.has({ })=", map.has({})); // false 
        //5、delete 方法 
        map.delete(undefined);
        console.log("deleted,has(undefined)=", map.has(undefined)); // false 
        //6、clear 方法 
        map.clear();
        console.log("cleared,size=", map.size); // 0 
    </script>
</head>

<body></body>

</html>